import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
// const path = require('path')// 不能使用 这种方式了. 版本升级原因
import AutoImport from 'unplugin-auto-import/vite' // 自动导入vue hooks
import Components from 'unplugin-vue-components/vite' // 自动导入ant-design组件
import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers' // 自动导入ant-design组件
import WindiCSS from 'vite-plugin-windicss' // windicss
import vueJsx from '@vitejs/plugin-vue-jsx'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    vueJsx(),
    WindiCSS(),
    AutoImport({
      // 自动导入vue hooks
      imports: ['vue', 'vue-router', 'vuex'],
      dts: 'types/auto-import.d.ts', // 存放目录(默认在根目录) 会自动生成此文件
      eslintrc: {
        // 组件中不需要导入ref/watch等api
        enabled: true, // Default `false` 启动项目时就会自动生成以下文件，需要在.eslintrc.js 中配置
        filepath: './.eslintrc-auto-import.json',
        globalsPropValue: true
      }
    }),
    Components({
      // 自动导入组件
      dirs: ['src/components'], // 自己的组件也自动导入
      dts: 'types/components.d.ts', // 存放目录(默认在根目录) 会自动生成此文件
      resolvers: [
        AntDesignVueResolver() // 自动导入第三方 ant-design
      ],
      deep: true
    })
  ],
  resolve: {
    // 设置路径别名
    alias: {
      // '@': path.resolve(__dirname, 'src'),
      // '*': path.resolve(''),
      '@': resolve(__dirname, 'src'),
      '*': resolve('')
    }
  },
  server: {
    port: 4000, // 指定端口号
    proxy: {
      '/jeecg-boot': {
        target: 'http://124.222.65.95:18581', // 物流项目的接口地址
        changeOrigin: true
        // rewrite: (path) => path.replace(/^\/jeecg-boot/, ""),
      }
    }
  }
})
